package com.librelato.tela;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import org.primefaces.context.RequestContext;
import org.primefaces.event.SelectEvent;

import com.librelato.bean.CentroCustoBean;
import com.librelato.bean.CompradorBean;
import com.librelato.bean.EmpresaBean;
import com.librelato.bean.ProdutoBean;
import com.librelato.bean.SolicitacaoBean;
import com.librelato.bean.UsuarioBean;
import com.librelato.negocio.CentroCustoServico;
import com.librelato.negocio.CompradorServico;
import com.librelato.negocio.ProdutoServico;
import com.librelato.negocio.SolicitacaoServico;
import com.librelato.negocio.UsuarioServico;
import com.librelato.negocio.interfaces.ICentroCustoServico;
import com.librelato.negocio.interfaces.IServicoGenerico;
import com.librelato.tela.datamodel.CCustoDataModel;
import com.librelato.tela.datamodel.ProdutoDataModel;
import com.librelato.util.Ferramentas;

@ManagedBean
@ViewScoped
public class ListaSolicitaTela extends TelaAbstrata {

	private List<SolicitacaoBean> listaSolicitacoes;

	private EmpresaBean empresaSelecionada;
	
	private EmpresaBean empresaSelecionadaSolicitacao;

	private SimpleDateFormat dataFormat;

	@ManagedProperty(value = "#{usuario}")
	private UsuarioBean usuario;

	private SolicitacaoServico<SolicitacaoBean> servico;

	private UsuarioServico<UsuarioBean> usuarioServico;

	private String dataDe;

	private String dataAte;

	private String dataEntregaDe;

	private String dataEntregaAte;

	private String numSolicitacao;

	private String status;

	private ProdutoBean prodTela;

	private ProdutoDataModel prodModel;

	private ProdutoBean produto;

	private ProdutoBean prodSel;

	private CCustoDataModel ccModel;
	
	private ProdutoServico<ProdutoBean> produtoServico;

	private List<ProdutoBean> listaProdPanel;

	private SolicitacaoBean solicitacao;

	private int comboCentroCusto;

	private String campoPesqui;

	private List<CentroCustoBean> listaCentros;

	private String historicoTexto;

	private List<UsuarioBean> listaSolicitantes;

	private String solicitanteFiltro;

	private String compradorFiltro;

	private List<CompradorBean> listaCompradoresFiltro;

	private CompradorServico<CompradorBean> compradorServico;

	private String gradeEstoqueHtml;

	private Map<String, String> param;

	public ListaSolicitaTela() {
		usuario = usuario == null ? (UsuarioBean) ((HttpSession) FacesContext
				.getCurrentInstance().getExternalContext().getSession(false))
				.getAttribute("usuario") : usuario;
		empresaSelecionada = usuario.getFilial();
		empresaSelecionadaSolicitacao = new EmpresaBean();
		dataFormat = new SimpleDateFormat("dd/MM/yy");
		dataAte = dataFormat.format(new Date());
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(new Date());
		calendar.add(Calendar.DATE, -30);
		dataDe = dataFormat.format(calendar.getTime());
		servico = new SolicitacaoServico<SolicitacaoBean>();
		usuarioServico = new UsuarioServico<UsuarioBean>();
		prodTela = new ProdutoBean();
		produto = new ProdutoBean();
		listaProdPanel = new ArrayList<ProdutoBean>();
		prodModel = new ProdutoDataModel(listaProdPanel);
		listaSolicitacoes = new ArrayList<SolicitacaoBean>();
		solicitacao = new SolicitacaoBean();
		prodSel = new ProdutoBean();
		compradorServico = new CompradorServico<CompradorBean>();
		try {
			// listaSolicitacoes = this.servico.buscaSolicitacoes("", "", "",
			// "",
			// "", "", Integer.parseInt(usuario.getCodigo()), false);
			listaSolicitacoes = this.servico.buscaSolicitacoes(null, usuario);
			listaSolicitantes = usuarioServico.buscaSolicitantesSetor(usuario);
			if (usuario.getTipo() != null
					&& (usuario.getTipo().equals("Gerente") || usuario
							.getTipo().equals("Coordenador"))) {

				solicitanteFiltro = usuario.getCodigo();
				produtoServico = new ProdutoServico<ProdutoBean>();
			}
			listaCompradoresFiltro = this.compradorServico
					.buscaCompradoresFiltro();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void onProdSelect(SelectEvent event) {
		prodSel = (ProdutoBean) event.getObject();
		try {
			produtoServico = new ProdutoServico<ProdutoBean>();
			produto = produtoServico.verificaProduto(
					prodSel.getCodigo().trim(), "");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			produtoServico = null;
			prodSel = null;
		}
	}

	public void preencheHistorico(SolicitacaoBean solicitacao) {
		this.historicoTexto = "";
		for (int i = 0; i < solicitacao.getHistoricos().size(); i++) {
			historicoTexto += Ferramentas.formataData(solicitacao
					.getHistoricos().get(i).getDataEmissao().getTime(),
					"dd/MM/yy HH:mm:ss")
					+ " - "
					+ solicitacao.getHistoricos().get(i).getDescricao().trim()
					+ " ("
					+ solicitacao.getHistoricos().get(i).getObservacao().trim()
					+ ")<br/>";
		}
	}

	public void validaCampos(FacesContext fc, UIComponent ui, Object objeto) {
		String cod = (String) objeto;
		if (ui.getId().trim().equals("iEcc")) {
			CentroCustoServico<CentroCustoBean> centroCustoServico = new CentroCustoServico<CentroCustoBean>();
			try {
				CentroCustoBean centroCusto = centroCustoServico
						.verificaCentroCusto(new CentroCustoBean(empresaSelecionadaSolicitacao.getFilial(),cod,""));
				if (centroCusto == null) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_centro_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
					centroCusto = new CentroCustoBean();
					centroCusto.setCodigo("");
					centroCusto.setDescricao("");
					solicitacao.getItensSolicitacao().get(0)
							.setCentroCusto(centroCusto);
				}
				solicitacao.getItensSolicitacao().get(0)
						.setCentroCusto(centroCusto);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				centroCustoServico = null;
			}
		} else if (ui.getId().trim().equals("iELoc")) {
			produtoServico = new ProdutoServico<ProdutoBean>();
			try {
				if ((!produtoServico
						.verificaLocal(solicitacao.getFilial(), cod))
						|| (cod.equalsIgnoreCase("70")
								|| cod.equalsIgnoreCase("50") || cod
									.equalsIgnoreCase("80"))) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_local_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
				}

			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				produtoServico = null;
			}
		} else if (ui.getId().trim().equals("iEOp")) {
			produtoServico = new ProdutoServico<ProdutoBean>();
			try {
				if (!produtoServico.verificaOrdemProducao(
						solicitacao.getFilial(), cod)) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_ordem_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				produtoServico = null;
			}
		} else if (ui.getId().trim().equals("iEComp")) {
			compradorServico = new CompradorServico<CompradorBean>();
			try {
				CompradorBean comprador = compradorServico.verificaComprador(cod);
				if (comprador == null) {
					FacesMessage message = new FacesMessage(
							FacesMessage.SEVERITY_ERROR, this.getServico()
									.getValor("msg_header_erro"), this
									.getServico().getValor(
											"msg_valida_compra_erro"));
					FacesContext.getCurrentInstance().addMessage(null, message);
					((UIInput) ui).setValid(false);
					comprador = new CompradorBean();
					comprador.setCodigo("");
					comprador.setNome("");
					comprador.setCodCompMicro("");
					solicitacao.setComprador(comprador);
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				compradorServico = null;
			}
		}
	}

	public void alteraSolicitacao() {
		try {
			this.servico.editar(solicitacao);
			listaSolicitacoes = this.servico.buscaSolicitacoes(param, usuario);
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
					this.getServico().getValor("msg_header_sucesso"), this
							.getServico()
							.getValor("solicita_alteracao_sucesso")
							+ " ("
							+ solicitacao.getNumSolicitacao()
							+ " - "
							+ solicitacao.getItem() + ")");
			FacesContext.getCurrentInstance().addMessage(null, message);
			RequestContext.getCurrentInstance().execute("dlg8.hide()");
			solicitacao = new SolicitacaoBean();
		} catch (Exception e) {
			e.printStackTrace();
			FacesMessage message = new FacesMessage(
					FacesMessage.SEVERITY_ERROR, this.getServico().getValor(
							"msg_header_erro"), this.getServico().getValor(
							"solicita_alteracao_erro"));
			FacesContext.getCurrentInstance().addMessage(null, message);
			solicitacao = new SolicitacaoBean();
		}
	}

	public void pesqCentroCusto() {
		ICentroCustoServico<CentroCustoBean> centroServico = new CentroCustoServico<CentroCustoBean>();
		try {
			listaCentros = centroServico.buscaCentrosCusto(empresaSelecionadaSolicitacao.getFilial(),campoPesqui,
					comboCentroCusto);
			ccModel = null;
			ccModel = new CCustoDataModel(listaCentros);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void filtraSolicitacao() {

		param = new HashMap<String, String>();
		if (usuario.getTipo() != null
				&& (usuario.getTipo().equals("Gerente") || usuario.getTipo()
						.equals("Coordenador"))) {
			if (this.solicitanteFiltro != null) {
				if ("Todos".equals(this.solicitanteFiltro)) {
					String idUsers = "";
					for (UsuarioBean usuario : listaSolicitantes) {
						idUsers += "'" + usuario.getCodigo().trim() + "',";
					}
					param.put("SOLICITANTE",
							idUsers.substring(0, idUsers.length() - 1));
				} else {
					param.put("SOLICITANTE", this.solicitanteFiltro);
				}
			}
		} else {
			param.put("SOLICITANTE", usuario.getCodigo().trim());
		}
		if (this.dataDe != null && !"".equals(this.dataDe)) {
			param.put("DATADE", this.dataDe);
		}
		if (this.dataAte != null && !"".equals(this.dataAte)) {
			param.put("DATAATE", this.dataAte);
		}
		if (this.numSolicitacao != null && !"".equals(this.numSolicitacao)) {
			param.put("NUMSOLICITA", this.numSolicitacao);
		}
		if (this.produto != null && this.produto.getCodigo() != null
				&& !"".equals(produto.getCodigo())) {
			param.put("CODPROD", this.produto.getCodigo());
		}
		if (this.status != null && !"".equals(this.status)
				&& !"Todos".equals(this.status)) {
			param.put("STATUS", this.status);
		}
		if (this.empresaSelecionada != null
				&& this.empresaSelecionada.getFilial() != null
				&& !"0".equals(this.empresaSelecionada.getFilial())) {
			param.put("FILIAL", this.empresaSelecionada.getFilial());
		}
		if (this.compradorFiltro != null
				&& !"Todos".equals(this.compradorFiltro)) {
			param.put("COMPRADOR", this.compradorFiltro);
		}
		if (this.dataEntregaDe != null && !"".equals(this.dataEntregaDe)) {
			param.put("DATAENTREGADE", this.dataEntregaDe);
		}
		if (this.dataEntregaAte != null && !"".equals(this.dataEntregaAte)) {
			param.put("DATAENTREGAATE", this.dataEntregaAte);
		}

		// boolean filtro = true;
		try {
			// listaSolicitacoes = this.servico.buscaSolicitacoes(,
			// this.dataAte, numSolicita, codProduto, this.status,
			// this.empresaSelecionada.getFilial(),
			// Integer.parseInt(usuario.getCodigo()), filtro);
			listaSolicitacoes = this.servico.buscaSolicitacoes(param, usuario);
			// solicitacao = new SolicitacaoBean();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void atuaProdutos() {
		produtoServico = new ProdutoServico<ProdutoBean>();
		try {
			listaProdPanel = produtoServico.buscaProdutos(prodTela);
			prodModel = null;
			prodModel = new ProdutoDataModel(listaProdPanel);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			produtoServico = null;
		}
	}

	public void atualizaDescricao() {
		produtoServico = new ProdutoServico<ProdutoBean>();
		try {
			produto = produtoServico.verificaProduto(produto.getCodigo(),
					empresaSelecionada.getFilial());
			if (produto == null) {
				FacesMessage message = new FacesMessage(
						FacesMessage.SEVERITY_ERROR, this.getServico()
								.getValor("msg_header_erro"), this.getServico()
								.getValor("msg_valida_produto_erro"));
				FacesContext.getCurrentInstance().addMessage(null, message);
				produto = new ProdutoBean();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			produtoServico = null;
		}
	}

	public void excluiSolicitacao() {
		try {
			this.servico.excluir(solicitacao);

//			String numSolicita = (numSolicitacao == null || ""
//					.equals(numSolicitacao.trim())) ? "" : numSolicitacao;
//			String codProduto = (produto.getCodigo() != null) ? produto
//					.getCodigo() : "";
//			boolean filtro = true;

			// listaSolicitacoes = this.servico.buscaSolicitacoes(this.dataDe,
			// this.dataAte, numSolicita, codProduto, this.status,
			// this.empresaSelecionada.getFilial(),
			// Integer.parseInt(usuario.getCodigo()), filtro);
			listaSolicitacoes = this.servico.buscaSolicitacoes(param, usuario);
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
					this.getServico().getValor("msg_header_sucesso"), this
							.getServico().getValor("solicita_exclusao_sucesso")
							+ " ("
							+ solicitacao.getNumSolicitacao()
							+ " - "
							+ solicitacao.getItem() + ")");
			FacesContext.getCurrentInstance().addMessage(null, message);
			solicitacao = new SolicitacaoBean();
		} catch (Exception e) {
			FacesMessage message = new FacesMessage(
					FacesMessage.SEVERITY_ERROR, this.getServico().getValor(
							"msg_header_erro"), this.getServico().getValor(
							"solicita_exclusao_erro"));
			FacesContext.getCurrentInstance().addMessage(null, message);
			e.printStackTrace();
			solicitacao = new SolicitacaoBean();
		}
	}

	public String pintaLinha(SolicitacaoBean solicitacao) {
		String classe = "";
		if (solicitacao.getStatus().trim().equals("Bloqueado")) {
			classe = "LinhaBloq";
		} else if (solicitacao.getStatus().trim().equals("Aprovado")) {
			classe = "LinhaApro";
		} else if (solicitacao.getStatus().trim().equals("Negado")) {
			classe = "LinhaNega";
		} else if (solicitacao.getStatus().trim().equals("Comprado")) {
			classe = "LinhaComp";
		} else if (solicitacao.getStatus().trim().equals("Recebido")) {
			classe = "LinhaRece";
		}
		return classe;
	}

	public String pintaDiaFaltante(Long dias) {
		String classe = "";
		if (dias < 0) {
			classe = "FonteNegrito";
		}
		return classe;
	}

	public String converteData(Date data, String status, Integer opc) {
		String dataAux = "-";
		if (opc == 1) {
			if (data != null) {
				dataAux = dataFormat.format(data);
			}
		} else {
			if (!status.equals("Bloqueado") && !status.equals("Negado")) {
				if (data != null) {
					dataAux = dataFormat.format(data);
				}
			}
		}
		return dataAux;
	}

	public void atualizaGradePedido(SolicitacaoBean solicitacaoTela) {
		try {
			if (solicitacaoTela != null
					&& solicitacaoTela.getStatus() != null
					&& ("Comprado".equals(solicitacaoTela.getStatus()) || "Recebido"
							.equals(solicitacaoTela.getStatus()))) {
				solicitacao = this.servico.buscaDadosPedido(solicitacaoTela);

				if ("Gerente".equals(usuario.getTipo().trim())
						|| "Coordenador".equals(usuario.getTipo().trim())) {
					StringBuilder sb = new StringBuilder();
					SortedMap<String, String> armazemProduto = new TreeMap<String, String>();
					armazemProduto = produtoServico
							.buscaEstoqueProduto(solicitacao);
					sb.append("<table>");
					sb.append("<tbody>");
					sb.append("<tr role='row'>");
					sb.append("<td>");
					sb.append("Quantidade em Estoque");
					sb.append("</td>");
					sb.append("</tr>");
					sb.append("</tbody>");
					sb.append("</table>");
					sb.append("<table>");
					sb.append("<tbody>");
					sb.append("<tr role='row'>");
					sb.append("<td>");
					sb.append("Filial");
					sb.append("</td>");
					sb.append("<td>");
					sb.append("Armazém");
					sb.append("</td>");
					sb.append("<td>");
					sb.append("Quantidade");
					sb.append("</td>");
					sb.append("</tr>");
					for (Iterator<String> it = armazemProduto.keySet()
							.iterator(); it.hasNext();) {

						String key = (String) it.next();
						String valor = armazemProduto.get(key);
						sb.append("<tr role='row'>");
						sb.append("<td>");
						sb.append(key.substring(0, 2));
						sb.append("</td>");
						sb.append("<td>");
						sb.append(key.substring(2));
						sb.append("</td>");
						sb.append("<td>");
						sb.append(valor);
						sb.append("</td>");
						sb.append("</tr>");

					}
					sb.append("</tbody>");
					sb.append("</table>");

					gradeEstoqueHtml = sb.toString();

					RequestContext.getCurrentInstance().addPartialUpdateTarget(
							":formGridSol");
				}

			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@SuppressWarnings("rawtypes")
	@Override
	protected IServicoGenerico getServico() {
		return this.servico;
	}

	public UsuarioBean getUsuario() {
		return usuario;
	}

	public void setServico(SolicitacaoServico<SolicitacaoBean> servico) {
		this.servico = servico;
	}

	public List<SolicitacaoBean> getListaSolicitacoes() {
		return listaSolicitacoes;
	}

	public void setListaSolicitacoes(List<SolicitacaoBean> listaSolicitacoes) {
		this.listaSolicitacoes = listaSolicitacoes;
	}

	public void setUsuario(UsuarioBean usuario) {
		this.usuario = usuario;
	}

	public SimpleDateFormat getDf() {
		return dataFormat;
	}

	public void setDf(SimpleDateFormat df) {
		this.dataFormat = df;
	}

	public String getDataDe() {
		return dataDe;
	}

	public void setDataDe(String dataDe) {
		this.dataDe = dataDe;
	}

	public String getDataAte() {
		return dataAte;
	}

	public void setDataAte(String dataAte) {
		this.dataAte = dataAte;
	}

	public ProdutoBean getProdTela() {
		return prodTela;
	}

	public void setProdTela(ProdutoBean prodTela) {
		this.prodTela = prodTela;
	}

	public ProdutoDataModel getProdModel() {
		return prodModel;
	}

	public void setProdModel(ProdutoDataModel prodModel) {
		this.prodModel = prodModel;
	}

	public ProdutoBean getProduto() {
		return produto;
	}

	public void setProduto(ProdutoBean produto) {
		this.produto = produto;
	}

	public ProdutoServico<ProdutoBean> getProdutoServico() {
		return produtoServico;
	}

	public void setProdutoServico(ProdutoServico<ProdutoBean> produtoServico) {
		this.produtoServico = produtoServico;
	}

	public List<ProdutoBean> getListaProdPanel() {
		return listaProdPanel;
	}

	public void setListaProdPanel(List<ProdutoBean> listaProdPanel) {
		this.listaProdPanel = listaProdPanel;
	}

	public String getNumSolicitacao() {
		return numSolicitacao;
	}

	public void setNumSolicitacao(String numSolicitacao) {
		this.numSolicitacao = numSolicitacao;
	}

	public EmpresaBean getEmpresaSelecionada() {
		return empresaSelecionada;
	}

	public void setEmpresaSelecionada(EmpresaBean empresaSelecionada) {
		this.empresaSelecionada = empresaSelecionada;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public SolicitacaoBean getSolicitacao() {
		return solicitacao;
	}

	public void setSolicitacao(SolicitacaoBean solicitacao) {
		this.solicitacao = solicitacao;
	}

	public int getComboCentroCusto() {
		return comboCentroCusto;
	}

	public void setComboCentroCusto(int comboCentroCusto) {
		this.comboCentroCusto = comboCentroCusto;
	}

	public String getCampoPesqui() {
		return campoPesqui;
	}

	public void setCampoPesqui(String campoPesqui) {
		this.campoPesqui = campoPesqui;
	}

	public List<CentroCustoBean> getListaCentros() {
		return listaCentros;
	}

	public void setListaCentros(List<CentroCustoBean> listaCentros) {
		this.listaCentros = listaCentros;
	}

	public CCustoDataModel getCcModel() {
		return ccModel;
	}

	public void setCcModel(CCustoDataModel ccModel) {
		this.ccModel = ccModel;
	}

	public ProdutoBean getProdSel() {
		return prodSel;
	}

	public void setProdSel(ProdutoBean prodSel) {
		this.prodSel = prodSel;
	}

	public String getHistoricoTexto() {
		return historicoTexto;
	}

	public void setHistoricoTexto(String historicoTexto) {
		this.historicoTexto = historicoTexto;
	}

	public List<UsuarioBean> getListaSolicitantes() {
		return listaSolicitantes;
	}

	public void setListaSolicitantes(List<UsuarioBean> listaSolicitantes) {
		this.listaSolicitantes = listaSolicitantes;
	}

	public String getSolicitanteFiltro() {
		return solicitanteFiltro;
	}

	public void setSolicitanteFiltro(String solicitanteFiltro) {
		this.solicitanteFiltro = solicitanteFiltro;
	}

	public UsuarioServico<UsuarioBean> getUsuarioServico() {
		return usuarioServico;
	}

	public void setUsuarioServico(UsuarioServico<UsuarioBean> usuarioServico) {
		this.usuarioServico = usuarioServico;
	}

	public SimpleDateFormat getDataFormat() {
		return dataFormat;
	}

	public void setDataFormat(SimpleDateFormat dataFormat) {
		this.dataFormat = dataFormat;
	}

	public String getCompradorFiltro() {
		return compradorFiltro;
	}

	public void setCompradorFiltro(String compradorFiltro) {
		this.compradorFiltro = compradorFiltro;
	}

	public List<CompradorBean> getListaCompradoresFiltro() {
		return listaCompradoresFiltro;
	}

	public void setListaCompradoresFiltro(
			List<CompradorBean> listaCompradoresFiltro) {
		this.listaCompradoresFiltro = listaCompradoresFiltro;
	}

	public CompradorServico<CompradorBean> getCompradorServico() {
		return compradorServico;
	}

	public void setCompradorServico(
			CompradorServico<CompradorBean> compradorServico) {
		this.compradorServico = compradorServico;
	}

	public String getGradeEstoqueHtml() {
		return gradeEstoqueHtml;
	}

	public void setGradeEstoqueHtml(String gradeEstoqueHtml) {
		this.gradeEstoqueHtml = gradeEstoqueHtml;
	}

	public String getDataEntregaDe() {
		return dataEntregaDe;
	}

	public void setDataEntregaDe(String dataEntregaDe) {
		this.dataEntregaDe = dataEntregaDe;
	}

	public String getDataEntregaAte() {
		return dataEntregaAte;
	}

	public void setDataEntregaAte(String dataEntregaAte) {
		this.dataEntregaAte = dataEntregaAte;
	}

	public Map<String, String> getParam() {
		return param;
	}

	public void setParam(Map<String, String> param) {
		this.param = param;
	}

	public EmpresaBean getEmpresaSelecionadaSolicitacao() {
		return empresaSelecionadaSolicitacao;
	}

	public void setEmpresaSelecionadaSolicitacao(
			EmpresaBean empresaSelecionadaSolicitacao) {
		this.empresaSelecionadaSolicitacao = empresaSelecionadaSolicitacao;
	}
	
	

	
}
